package com.ruoyi.gpt.service;

import com.ruoyi.gpt.domain.GptUser;
import com.ruoyi.gpt.domain.vo.GptUserVo;
import com.ruoyi.gpt.domain.bo.GptUserBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * chatGpt用户Service接口
 *
 * @author ztx
 * @date 2023-03-17
 */
public interface IGptUserService {

    /**
     * 查询chatGpt用户
     */
    GptUserVo queryById(Long id);

    /**
     * 查询chatGpt用户列表
     */
    TableDataInfo<GptUserVo> queryPageList(GptUserBo bo, PageQuery pageQuery);

    /**
     * 查询chatGpt用户列表
     */
    List<GptUserVo> queryList(GptUserBo bo);

    /**
     * 新增chatGpt用户
     */
    Boolean insertByBo(GptUserBo bo);

    /**
     * 修改chatGpt用户
     */
    Boolean updateByBo(GptUserBo bo);

    /**
     * 校验并批量删除chatGpt用户信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据openid 和 appid 查寻用户
     * @param openId
     * @param appid
     * @return
     */
    GptUserVo getByOpenIdAndAppid(String openId,String appid);

    GptUserVo setGptUser(String appid ,String unionid, String openId, String uType, String nickname, String avatar);
}
